List
of Property Types
MAPI supports
both single-valued and multivalued properties. With a single-valued property,
there is one value of the base type for the property. With a multivalued
property, there are multiple values of the base type.
The
single-valued and multivalued property types that are supported by MAPI are
described as follows. For each single-valued type that has a corresponding
multivalued type, the multivalued type appears in parentheses after the
single-valued type.
PT_APPTIME (PT_MV_APPTIME)
Double value
that is interpreted as date and time. This property type is the same as the OLE
type VT_DATE and is compatible with the Visual Basic time representation.
PT_BINARY
(PT_MV_BINARY)
SBinary structure value, a counted byte array.
PT_BOOLEAN
(PT_MV_12)
16-bit
Boolean value where zero equals FALSE and non-zero equals TRUE. This property
type is the same as the OLE type VT_BOOL.
PT_CLSID
(PT_MV_CLSID)
CLSID structure value. This property type is the same as
the OLE type VT_CLSID.
PT_CURRENCY
(PT_MV_CURRENCY )
64-bit
integer intepreted as decimal. This property type is compatible with the Visual
Basic CURRENCY type and is the same as the OLE type VT_CY.
PT_DOUBLE
(PT_MV_DOUBLE)
Double value;
64-bit floating point value. This property type is the same as PT_R8 and the
OLE type VT_R8.
PT_ERROR
SCODE value;
32-bit unsigned integer. This property type is the same as the OLE type
VT_ERROR.
PT_FLOAT
(PT_MV_FLOAT)
32-bit
floating point value. This property type is the same as PT_R4 and the OLE type
VT_R4.
PT_I2
(PT_MV_I2)
Signed 16-bit
integer. This property type is the same as PT_SHORT and the OLE type VT_I2.
PT_I4
(PT_MV_I4)
Signed or
unsigned 32-bit integer. This property type is the same as PT_LONG and the OLE
type VT_I4.
PT_I8
(PT_MV_I8)
Signed or
unsigned 64-bit integer that uses the LARGE_INTEGER structure. This
property type is the same as the OLE type VT_I8.
PT_LONG
(PT_MV_LONG)
Signed or
unsigned 32-bit integer. This property type is the same as PT_I4 and the OLE
type VT_I4.
PT_LONGLONG
(PT_MV_LONGLONG)
Signed or
unsigned 64-bit integer. This property type is the same as PT_I8 and the OLE
type VT_I8.
PT_NULL
Indicates no
property value. This property type is reserved for use with interface methods
and is the same as the OLE type VT_NULL.
PT_OBJECT
Pointer to an
object that implements the IUnknown interface. This property type is
similar to several OLE types such as VT_UNKNOWN.
PT_R4
(PT_MV_R4)
4-byte
floating point value. This property type is the same as the OLE type VT_R4.
PT_R8
(PT_MV_R8)
8-byte
floating point value. This property type is the same as the OLE type VT_DOUBLE.
PT_SHORT
(PT_MV_SHORT)
Signed 16-bit
integer. This property type is the same as PT_SHORT and the OLE type VT_I2.
PT_STRING8
(PT_MV_STRING8)
Null-terminated
8-bit character string. This property type is the same as the OLE type VT_LPSTR.
PT_SYSTIME
(PT_MV_SYSTIME)
64-bit
integer data and time value in the form of a FILETIME structure. This
property type is the same as the OLE type VT_FILETIME.
PT_TSTRING
(PT_MV_TSTRING)
Properties
with this type have the property type reset to PT_UNICODE when compiling with
the UNICODE symbol and to PT_STRING8 when not compiling with the UNICODE
symbol. This property type is the same as the OLE type VT_LPSTR for resulting
PT_STRING8 properties and VT_LPWSTR for PT_UNICODE properties
PT_UNSPECIFIED
Indicates
that the property type is unknown. This property type is reserved for use with
interface methods.